

/*
-----------------------------------------------------------------------------
Filename:    OgreInterface.h
Description: This is the class definition for the interface separating the
GemineyeEngine from the specific code of the Ogre class.  The method prototypes
of this class are implementations of what is mandated by the abstract
GraphicsInterface module to make swapping out graphics engines as painless as
possible.
-----------------------------------------------------------------------------
*/

#include <ogre.h>
#include "GraphicsInterface.h"
using namespace Ogre;

class OgreInterface : public GraphicsInterface {
	Root *root;
	SceneManager *mSceneMgr;
	Camera *mainCam;
	RenderWindow *window;
public:
	OgreInterface();
	bool initializeRenderer(char *windowLabel);
	void createLight( char *type, float x, float y, float z );
	void setSkyBox( char *resourceFolder );
	void engageRenderLoop();
	bool renderFrame();
	void powerDown();
	bool activateMouseLookListener();
	bool activateWindowListener();
};
